Add GPSBabel session management (session.h/session.c).
authoroliskoli <oliskoli>
Thu, 31 Jul 2008 19:08:24 +0000 (19:08 +0000)
committeroliskoli <oliskoli>
Thu, 31 Jul 2008 19:08:24 +0000 (19:08 +0000)
Makefile.in
csv_util.c
defs.h
main.c
unicsv.c
vecs.c
waypt.c
xcsv_tokens.gperf
xcsv_tokens.in

index 6bf04afdc6ae7ba1b8e6583914addde1511c5368..f9a639b801bbc061df8d1853ccfabf06f6216fbf 100644 (file)
@@ -91,7 +91,7 @@ LIBOBJS = queue.o route.o waypt.o filter_vecs.o util.o vecs.o mkshort.o \
           csv_util.o strptime.o grtcirc.o vmem.o util_crc.o xmlgeneric.o \
           uuid.o formspec.o xmltag.o cet.o cet_util.o fatal.o rgbcolors.o \
          inifile.o garmin_fs.o gbsleep.o units.o @GBSER@ gbser.o \
-         gbfile.o parse.o avltree.o \
+         gbfile.o parse.o avltree.o session.o \
        $(PALM_DB) $(GARMIN) $(JEEPS) $(SHAPE) @ZLIB@ $(FMTS) $(FILTERS)
 OBJS = main.o globals.o $(LIBOBJS) @FILEINFO@
 
@@ -695,6 +695,7 @@ route.o: route.c defs.h config.h queue.h gbtypes.h zlib/zlib.h \
   zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h grtcirc.h
 saroute.o: saroute.c defs.h config.h queue.h gbtypes.h zlib/zlib.h \
   zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h grtcirc.h
+session.o: session.h session.c defs.h gbtypes.h
 shape.o: shape.c defs.h config.h queue.h gbtypes.h zlib/zlib.h \
   zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h shapelib/shapefil.h
 smplrout.o: smplrout.c defs.h config.h queue.h gbtypes.h zlib/zlib.h \
@@ -778,7 +779,7 @@ vitovtt.o: vitovtt.c defs.h config.h queue.h gbtypes.h zlib/zlib.h \
   zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h
 vmem.o: vmem.c defs.h config.h queue.h gbtypes.h zlib/zlib.h zlib/zconf.h \
   gbfile.h cet.h cet_util.h inifile.h
-waypt.o: waypt.c defs.h config.h queue.h gbtypes.h zlib/zlib.h \
+waypt.o: waypt.c defs.h config.h queue.h gbtypes.h zlib/zlib.h session.h \
   zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h grtcirc.h garmin_fs.h \
   jeeps/gps.h jeeps/../defs.h jeeps/gpsport.h jeeps/gpsdevice.h \
   jeeps/gps.h jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h \
index 1ea09aba6927c051c0bba6938856c0b1656845c7..e776f421bf12007d120589e9a2562b9fbbd6e925 100644 (file)
@@ -63,6 +63,8 @@ typedef enum {
        XT_DESCRIPTION,
        XT_EXCEL_TIME,
        XT_FACILITY,
+       XT_FILENAME,
+       XT_FORMAT,
        XT_GEOCACHE_CONTAINER,
        XT_GEOCACHE_DIFF,
        XT_GEOCACHE_HINT,
@@ -1833,6 +1835,13 @@ xcsv_waypt_pr(const waypoint *wpt)
                writebuff(buff, fmp->printfc, GMSD_GET(facility, ""));
                }
                break;
+       /* specials */
+       case XT_FILENAME:
+               writebuff(buff, fmp->printfc, wpt->session->filename);
+               break;
+       case XT_FORMAT:
+               writebuff(buff, fmp->printfc, wpt->session->name);
+               break;
        case -1:
                if (strncmp(fmp->key, "LON_10E", 7) == 0) {
                        writebuff(buff, fmp->printfc, lon * pow((double)10, atof(fmp->key+7)));
diff --git a/defs.h b/defs.h
index 20ca346073c0060cf254fae2907cec39b41a946b..92e5e6dbe079fb92822b2a8e9c8e6c9bbc733768 100644 (file)
--- a/defs.h
+++ b/defs.h
@@ -37,6 +37,7 @@
 #include "cet.h"
 #include "cet_util.h"
 #include "inifile.h"
+#include "session.h"
 
 // Turn on Unicode in expat?
 #ifdef _UNICODE
@@ -435,6 +436,7 @@ typedef struct {
        float temperature; /* Degrees celsius */
        geocache_data gc_data;
        format_specific_data *fs;
+       session_t *session;     /* pointer to a session struct */
        void *extra_data;       /* Extra data added by, say, a filter. */
 } waypoint;
 
@@ -707,6 +709,7 @@ typedef struct ff_vecs {
        char *encode;
        int fixed_encode;
        position_ops_t position_ops;
+       const char *name;               /* dyn. initialized by find_vec */
 } ff_vecs_t;
 
 typedef struct style_vecs {
diff --git a/main.c b/main.c
index 6e338ce07f41ef43e0d68bccacce64c1b73368a4..a6f9be1aba32554024e3331ec0f65ad645a786ec 100644 (file)
--- a/main.c
+++ b/main.c
@@ -24,6 +24,7 @@
 #include "cet_util.h"
 #include "csv_util.h"
 #include "inifile.h"
+#include "session.h"
 #include <ctype.h>
 #include <signal.h>
 
@@ -260,6 +261,7 @@ main(int argc, char *argv[])
        }
        
        cet_register();
+       session_init();
        waypt_init();
        route_init();
 
@@ -349,6 +351,7 @@ main(int argc, char *argv[])
                        
                                cet_convert_init(ivecs->encode, ivecs->fixed_encode);   /* init by module vec */
 
+                               start_session(ivecs->name, fname);
                                ivecs->rd_init(fname);
                                ivecs->read();
                                ivecs->rd_deinit();
@@ -568,6 +571,7 @@ main(int argc, char *argv[])
                                        
                cet_convert_init(ivecs->encode, 1);
 
+               start_session(ivecs->name, argv[0]);
                ivecs->rd_init(argv[0]);
                ivecs->read();
                ivecs->rd_deinit();
@@ -620,6 +624,7 @@ main(int argc, char *argv[])
 
 
                if (ivecs->position_ops.rd_init) {
+                       start_session(ivecs->name, fname);
                        ivecs->position_ops.rd_init(fname);
                }
 
@@ -681,6 +686,7 @@ main(int argc, char *argv[])
        cet_deregister();
        waypt_flush_all();
        route_flush_all();
+       session_exit();
        exit_vecs();
        exit_filter_vecs();
        inifile_done(global_opts.inifile);
index 6fca2e741b406dd5eea32b5c072115b0320b1b7a..cdbc7d627f5ee9fc0381bac38249296884707d7f 100644 (file)
--- a/unicsv.c
+++ b/unicsv.c
@@ -222,7 +222,7 @@ static route_head *unicsv_track, *unicsv_route;
 static char unicsv_outp_flags[(fld_terminator + 8) / 8];
 static grid_type unicsv_grid_idx;
 static int unicsv_datum_idx;
-static char *opt_datum, *opt_grid, *opt_utc;
+static char *opt_datum, *opt_grid, *opt_utc, *opt_filename, *opt_format;
 static int unicsv_waypt_ct;
 static char unicsv_detect;
 
@@ -233,6 +233,10 @@ static arglist_t unicsv_args[] = {
                NULL, ARGTYPE_STRING, ARG_NOMINMAX},
        {"utc",   &opt_utc,   "Write timestamps with offset x to UTC time", 
                NULL, ARGTYPE_INT, "-23", "+23"},
+       {"format", &opt_format,   "Write name(s) of format(s) from input session(s)", 
+               NULL, ARGTYPE_BOOL, ARG_NOMINMAX},
+       {"filename", &opt_filename,   "Write filename(s) from input session(s)", 
+               NULL, ARGTYPE_BOOL, ARG_NOMINMAX},
        ARG_TERMINATOR };
 
 
@@ -1310,6 +1314,9 @@ unicsv_waypt_disp_cb(const waypoint *wpt)
        if FIELD_USED(fld_garmin_fax_nr) unicsv_print_str(GMSD_GET(fax_nr, NULL));
        if FIELD_USED(fld_garmin_email) unicsv_print_str(GMSD_GET(email, NULL));
 
+       if (opt_format) unicsv_print_str(wpt->session->name);
+       if (opt_filename) unicsv_print_str(wpt->session->filename);
+
        gbfputs(UNICSV_LINE_SEP, fout);
 }
 
@@ -1429,6 +1436,9 @@ unicsv_wr(void)
        if FIELD_USED(fld_garmin_fax_nr) gbfprintf(fout, "%sFax", unicsv_fieldsep);
        if FIELD_USED(fld_garmin_email) gbfprintf(fout, "%sEmail", unicsv_fieldsep);
        
+       if (opt_format) gbfprintf(fout, "%sFormat", unicsv_fieldsep);
+       if (opt_filename) gbfprintf(fout, "%sFilename", unicsv_fieldsep);
+       
        gbfputs(UNICSV_LINE_SEP, fout);
 
        switch(global_opts.objective) {
diff --git a/vecs.c b/vecs.c
index 86b5006ada280ba342f61de2bcae1fe2469d1834..eb09ee783a7dc189255a59ef14fb4eefd0027ede 100644 (file)
--- a/vecs.c
+++ b/vecs.c
@@ -973,6 +973,7 @@ find_vec(char *const vecname, char **opts)
                xcsv_setup_internal_style( NULL );
 #endif // CSVFMTS_ENABLED              
                xfree(v);
+               vec->vec->name = vec->name;     /* needed for session information */
                return vec->vec;
                
        }
@@ -1028,7 +1029,7 @@ find_vec(char *const vecname, char **opts)
 #endif // CSVFMTS_ENABLED              
 
                xfree(v);
-
+               vec_list[0].vec->name = svec->name;     /* needed for session information */
                return vec_list[0].vec;
        }
        
diff --git a/waypt.c b/waypt.c
index b1d49e3db9c2f7a16821ef8b3b28fe1f255eb4f6..120b2ddead6553893a4fd87ce09f7ba8275083f2 100644 (file)
--- a/waypt.c
+++ b/waypt.c
@@ -24,6 +24,7 @@
 #include "cet_util.h"
 #include "grtcirc.h"
 #include "garmin_fs.h"
+#include "session.h"
 
 queue waypt_head;
 static unsigned int waypt_ct;
@@ -173,6 +174,7 @@ waypt_new(void)
        wpt->altitude = unknown_alt;
        wpt->fix = fix_unknown;
        wpt->sat = -1;
+       wpt->session = curr_session();
 
        QUEUE_INIT(&wpt->Q);
        return wpt;
index 432e4253b92ca036f99b54d8a9cc6a1123172e6c..76a47fdacea540fd21cbc587237de44de696baac 100644 (file)
@@ -1,4 +1,4 @@
-/* ANSI-C code produced by gperf version 3.0.1 */
+/* ANSI-C code produced by gperf version 3.0.2 */
 /* Command-line: gperf -L ANSI-C -D -t xcsv_tokens.in  */
 /* Computed positions: -k'2,4-5,12,$' */
 
 #line 1 "xcsv_tokens.in"
 struct xt_mapping {char *name; int xt_token; };
 
-#define TOTAL_KEYWORDS 71
+#define TOTAL_KEYWORDS 73
 #define MIN_WORD_LENGTH 3
 #define MAX_WORD_LENGTH 21
 #define MIN_HASH_VALUE 7
-#define MAX_HASH_VALUE 154
-/* maximum key range = 148, duplicates = 0 */
+#define MAX_HASH_VALUE 153
+/* maximum key range = 147, duplicates = 0 */
 
 #ifdef __GNUC__
 __inline
@@ -51,32 +51,32 @@ hash (register const char *str, register unsigned int len)
 {
   static unsigned char asso_values[] =
     {
-      155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
-      155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
-      155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
-      155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
-      155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
-      155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
-      155, 155, 155, 155, 155,   0, 155,   0,   0,  10,
-       60,   0,  50,  30, 155,  15,  40,  40,   0,  25,
-       30, 155,   0,  20,  15, 155,  40, 155,  25,   0,
-      155, 155, 155, 155, 155,   0, 155, 155, 155, 155,
-      155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
-      155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
-      155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
-      155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
-      155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
-      155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
-      155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
-      155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
-      155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
-      155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
-      155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
-      155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
-      155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
-      155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
-      155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
-      155, 155, 155, 155, 155, 155
+      154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+      154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+      154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+      154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+      154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+      154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+      154, 154, 154, 154, 154,   0, 154,   0,   0,  10,
+       55,  15,  50,  35, 154,  10,  40,  20,   0,  25,
+       25, 154,   0,  40,  15, 154,  20, 154,  25,  45,
+      154, 154, 154, 154, 154,   0, 154, 154, 154, 154,
+      154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+      154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+      154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+      154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+      154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+      154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+      154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+      154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+      154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+      154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+      154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+      154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+      154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+      154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+      154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
+      154, 154, 154, 154, 154, 154
     };
   register int hval = len;
 
@@ -113,164 +113,167 @@ in_word_set (register const char *str, register unsigned int len)
 {
   static struct xt_mapping wordlist[] =
     {
-#line 39 "xcsv_tokens.in"
+#line 41 "xcsv_tokens.in"
       {"LAT_DIR", XT_LAT_DIR},
-#line 44 "xcsv_tokens.in"
+#line 46 "xcsv_tokens.in"
       {"LAT_NMEA", XT_LAT_NMEA},
-#line 31 "xcsv_tokens.in"
+#line 33 "xcsv_tokens.in"
       {"ICON_DESCR", XT_ICON_DESCR},
-#line 43 "xcsv_tokens.in"
+#line 45 "xcsv_tokens.in"
       {"LAT_DDMMDIR", XT_LAT_DDMMDIR},
-#line 36 "xcsv_tokens.in"
+#line 38 "xcsv_tokens.in"
       {"LAT_DECIMALDIR", XT_LAT_DECIMALDIR},
 #line 5 "xcsv_tokens.in"
       {"ANYNAME", XT_ANYNAME},
-#line 54 "xcsv_tokens.in"
-      {"MAP_EN_BNG", XT_MAP_EN_BNG},
 #line 10 "xcsv_tokens.in"
       {"DESCRIPTION", XT_DESCRIPTION},
-#line 20 "xcsv_tokens.in"
+#line 22 "xcsv_tokens.in"
       {"GEOCACHE_TERR", XT_GEOCACHE_TERR},
-#line 19 "xcsv_tokens.in"
+#line 21 "xcsv_tokens.in"
       {"GEOCACHE_PLACER", XT_GEOCACHE_PLACER},
 #line 6 "xcsv_tokens.in"
       {"CADENCE", XT_CADENCE},
-#line 13 "xcsv_tokens.in"
+#line 15 "xcsv_tokens.in"
       {"GEOCACHE_CONTAINER", XT_GEOCACHE_CONTAINER},
-#line 16 "xcsv_tokens.in"
+#line 18 "xcsv_tokens.in"
       {"GEOCACHE_ISARCHIVED", XT_GEOCACHE_ISARCHIVED},
-#line 49 "xcsv_tokens.in"
+#line 72 "xcsv_tokens.in"
+      {"TRACK_NAME", XT_TRACK_NAME},
+#line 51 "xcsv_tokens.in"
       {"LON_DIR", XT_LON_DIR},
-#line 53 "xcsv_tokens.in"
+#line 55 "xcsv_tokens.in"
       {"LON_NMEA", XT_LON_NMEA},
-#line 7 "xcsv_tokens.in"
-      {"CITY", XT_CITY},
-#line 70 "xcsv_tokens.in"
-      {"TRACK_NAME", XT_TRACK_NAME},
-#line 52 "xcsv_tokens.in"
+#line 56 "xcsv_tokens.in"
+      {"MAP_EN_BNG", XT_MAP_EN_BNG},
+#line 54 "xcsv_tokens.in"
       {"LON_DDMMDIR", XT_LON_DDMMDIR},
-#line 15 "xcsv_tokens.in"
+#line 17 "xcsv_tokens.in"
       {"GEOCACHE_HINT", XT_GEOCACHE_HINT},
-#line 46 "xcsv_tokens.in"
+#line 48 "xcsv_tokens.in"
       {"LON_DECIMALDIR", XT_LON_DECIMALDIR},
-#line 17 "xcsv_tokens.in"
+#line 19 "xcsv_tokens.in"
       {"GEOCACHE_ISAVAILABLE", XT_GEOCACHE_ISAVAILABLE},
-#line 32 "xcsv_tokens.in"
-      {"IGNORE", XT_IGNORE},
-#line 41 "xcsv_tokens.in"
-      {"LAT_INT32DEG", XT_LAT_INT32DEG},
-#line 72 "xcsv_tokens.in"
+#line 74 "xcsv_tokens.in"
       {"URL", XT_URL},
-#line 28 "xcsv_tokens.in"
+#line 30 "xcsv_tokens.in"
       {"HEART_RATE", XT_HEART_RATE},
-#line 68 "xcsv_tokens.in"
+#line 70 "xcsv_tokens.in"
       {"STREET_ADDR", XT_STREET_ADDR},
-#line 9 "xcsv_tokens.in"
-      {"COUNTRY", XT_COUNTRY},
-#line 18 "xcsv_tokens.in"
-      {"GEOCACHE_LAST_FOUND", XT_GEOCACHE_LAST_FOUND},
-#line 37 "xcsv_tokens.in"
+#line 39 "xcsv_tokens.in"
       {"LAT_DECIMAL", XT_LAT_DECIMAL},
-#line 35 "xcsv_tokens.in"
-      {"ISO_TIME", XT_ISO_TIME},
-#line 67 "xcsv_tokens.in"
-      {"STATE", XT_STATE},
-#line 29 "xcsv_tokens.in"
+#line 24 "xcsv_tokens.in"
+      {"GMT_TIME", XT_GMT_TIME},
+#line 31 "xcsv_tokens.in"
       {"HMSG_TIME", XT_HMSG_TIME},
-#line 62 "xcsv_tokens.in"
-      {"PATH_SPEED", XT_PATH_SPEED},
+#line 69 "xcsv_tokens.in"
+      {"STATE", XT_STATE},
+#line 34 "xcsv_tokens.in"
+      {"IGNORE", XT_IGNORE},
+#line 23 "xcsv_tokens.in"
+      {"GEOCACHE_TYPE", XT_GEOCACHE_TYPE},
 #line 64 "xcsv_tokens.in"
+      {"PATH_SPEED", XT_PATH_SPEED},
+#line 66 "xcsv_tokens.in"
       {"POSTAL_CODE", XT_POSTAL_CODE},
-#line 21 "xcsv_tokens.in"
-      {"GEOCACHE_TYPE", XT_GEOCACHE_TYPE},
-#line 33 "xcsv_tokens.in"
+#line 13 "xcsv_tokens.in"
+      {"FILENAME", XT_FILENAME},
+#line 35 "xcsv_tokens.in"
       {"INDEX", XT_INDEX},
-#line 34 "xcsv_tokens.in"
-      {"ISO_TIME_MS", XT_ISO_TIME_MS},
-#line 51 "xcsv_tokens.in"
-      {"LON_INT32DEG", XT_LON_INT32DEG},
-#line 63 "xcsv_tokens.in"
-      {"PHONE_NR", XT_PHONE_NR},
+#line 14 "xcsv_tokens.in"
+      {"FORMAT", XT_FORMAT},
 #line 65 "xcsv_tokens.in"
+      {"PHONE_NR", XT_PHONE_NR},
+#line 20 "xcsv_tokens.in"
+      {"GEOCACHE_LAST_FOUND", XT_GEOCACHE_LAST_FOUND},
+#line 67 "xcsv_tokens.in"
       {"ROUTE_NAME", XT_ROUTE_NAME},
-#line 56 "xcsv_tokens.in"
+#line 58 "xcsv_tokens.in"
       {"PATH_COURSE", XT_PATH_COURSE},
-#line 26 "xcsv_tokens.in"
-      {"GPS_SAT", XT_GPS_SAT},
-#line 22 "xcsv_tokens.in"
-      {"GMT_TIME", XT_GMT_TIME},
-#line 69 "xcsv_tokens.in"
-      {"TIMET_TIME", XT_TIMET_TIME},
-#line 47 "xcsv_tokens.in"
+#line 37 "xcsv_tokens.in"
+      {"ISO_TIME", XT_ISO_TIME},
+#line 40 "xcsv_tokens.in"
+      {"LAT_DIRDECIMAL", XT_LAT_DIRDECIMAL},
+#line 49 "xcsv_tokens.in"
       {"LON_DECIMAL", XT_LON_DECIMAL},
-#line 12 "xcsv_tokens.in"
-      {"FACILITY", XT_FACILITY},
-#line 55 "xcsv_tokens.in"
-      {"NOTES", XT_NOTES},
-#line 8 "xcsv_tokens.in"
-      {"CONSTANT", XT_CONSTANT},
-#line 66 "xcsv_tokens.in"
+#line 43 "xcsv_tokens.in"
+      {"LAT_INT32DEG", XT_LAT_INT32DEG},
+#line 29 "xcsv_tokens.in"
+      {"GPS_VDOP", XT_GPS_VDOP},
+#line 32 "xcsv_tokens.in"
+      {"HMSL_TIME", XT_HMSL_TIME},
+#line 71 "xcsv_tokens.in"
+      {"TIMET_TIME", XT_TIMET_TIME},
+#line 27 "xcsv_tokens.in"
+      {"GPS_PDOP", XT_GPS_PDOP},
+#line 68 "xcsv_tokens.in"
       {"SHORTNAME", XT_SHORTNAME},
-#line 45 "xcsv_tokens.in"
+#line 47 "xcsv_tokens.in"
       {"LOCAL_TIME", XT_LOCAL_TIME},
-#line 40 "xcsv_tokens.in"
+#line 59 "xcsv_tokens.in"
+      {"PATH_DISTANCE_KM", XT_PATH_DISTANCE_KM},
+#line 28 "xcsv_tokens.in"
+      {"GPS_SAT", XT_GPS_SAT},
+#line 42 "xcsv_tokens.in"
       {"LAT_HUMAN_READABLE", XT_LAT_HUMAN_READABLE},
-#line 58 "xcsv_tokens.in"
-      {"PATH_DISTANCE_MILES", XT_PATH_DISTANCE_MILES},
-#line 71 "xcsv_tokens.in"
+#line 9 "xcsv_tokens.in"
+      {"COUNTRY", XT_COUNTRY},
+#line 73 "xcsv_tokens.in"
       {"URL_LINK_TEXT", XT_URL_LINK_TEXT},
-#line 38 "xcsv_tokens.in"
-      {"LAT_DIRDECIMAL", XT_LAT_DIRDECIMAL},
 #line 11 "xcsv_tokens.in"
       {"EXCEL_TIME", XT_EXCEL_TIME},
-#line 42 "xcsv_tokens.in"
+#line 44 "xcsv_tokens.in"
       {"LATLON_HUMAN_READABLE", XT_LATLON_HUMAN_READABLE},
-#line 25 "xcsv_tokens.in"
-      {"GPS_PDOP", XT_GPS_PDOP},
-#line 30 "xcsv_tokens.in"
-      {"HMSL_TIME", XT_HMSL_TIME},
-#line 59 "xcsv_tokens.in"
-      {"PATH_SPEED_KNOTS", XT_PATH_SPEED_KNOTS},
-#line 73 "xcsv_tokens.in"
-      {"YYYYMMDD_TIME", XT_YYYYMMDD_TIME},
-#line 57 "xcsv_tokens.in"
-      {"PATH_DISTANCE_KM", XT_PATH_DISTANCE_KM},
-#line 27 "xcsv_tokens.in"
-      {"GPS_VDOP", XT_GPS_VDOP},
-#line 4 "xcsv_tokens.in"
-      {"ALT_METERS", XT_ALT_METERS},
 #line 50 "xcsv_tokens.in"
-      {"LON_HUMAN_READABLE", XT_LON_HUMAN_READABLE},
-#line 24 "xcsv_tokens.in"
-      {"GPS_HDOP", XT_GPS_HDOP},
-#line 48 "xcsv_tokens.in"
       {"LON_DIRDECIMAL", XT_LON_DIRDECIMAL},
-#line 23 "xcsv_tokens.in"
+#line 53 "xcsv_tokens.in"
+      {"LON_INT32DEG", XT_LON_INT32DEG},
+#line 8 "xcsv_tokens.in"
+      {"CONSTANT", XT_CONSTANT},
+#line 36 "xcsv_tokens.in"
+      {"ISO_TIME_MS", XT_ISO_TIME_MS},
+#line 26 "xcsv_tokens.in"
+      {"GPS_HDOP", XT_GPS_HDOP},
+#line 60 "xcsv_tokens.in"
+      {"PATH_DISTANCE_MILES", XT_PATH_DISTANCE_MILES},
+#line 4 "xcsv_tokens.in"
+      {"ALT_METERS", XT_ALT_METERS},
+#line 25 "xcsv_tokens.in"
       {"GPS_FIX", XT_GPS_FIX},
+#line 52 "xcsv_tokens.in"
+      {"LON_HUMAN_READABLE", XT_LON_HUMAN_READABLE},
+#line 61 "xcsv_tokens.in"
+      {"PATH_SPEED_KNOTS", XT_PATH_SPEED_KNOTS},
 #line 3 "xcsv_tokens.in"
       {"ALT_FEET", XT_ALT_FEET},
-#line 60 "xcsv_tokens.in"
+#line 57 "xcsv_tokens.in"
+      {"NOTES", XT_NOTES},
+#line 62 "xcsv_tokens.in"
       {"PATH_SPEED_KPH", XT_PATH_SPEED_KPH},
-#line 14 "xcsv_tokens.in"
+#line 12 "xcsv_tokens.in"
+      {"FACILITY", XT_FACILITY},
+#line 7 "xcsv_tokens.in"
+      {"CITY", XT_CITY},
+#line 16 "xcsv_tokens.in"
       {"GEOCACHE_DIFF", XT_GEOCACHE_DIFF},
-#line 61 "xcsv_tokens.in"
-      {"PATH_SPEED_MPH", XT_PATH_SPEED_MPH}
+#line 63 "xcsv_tokens.in"
+      {"PATH_SPEED_MPH", XT_PATH_SPEED_MPH},
+#line 75 "xcsv_tokens.in"
+      {"YYYYMMDD_TIME", XT_YYYYMMDD_TIME}
     };
 
   static signed char lookup[] =
     {
       -1, -1, -1, -1, -1, -1, -1,  0,  1, -1,  2,  3, -1, -1,
-       4, -1, -1,  5, -1, -1,  6,  7, -1,  8, -1,  9, -1, 10,
-      11, 12, -1, -1, 13, 14, 15, 16, 17, -1, 18, 19, 20, 21,
-      22, 23, -1, 24, 25, 26, -1, 27, -1, 28, -1, 29, -1, 30,
-      -1, -1, -1, 31, 32, 33, -1, 34, -1, 35, 36, 37, 38, -1,
-      39, 40, 41, 42, -1, 43, 44, -1, 45, -1, 46, -1, -1, 47,
-      48, 49, -1, -1, 50, 51, -1, -1, -1, 52, 53, 54, 55, -1,
-      56, 57, -1, 58, -1, 59, -1, -1, 60, -1, 61, -1, 62, -1,
-      -1, 63, -1, -1, -1, -1, 64, 65, -1, -1, 66, 67, -1, -1,
-      -1, -1, -1, 68, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-      -1, -1, -1, 69, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-      70
+       4, -1, -1,  5, -1, -1, -1,  6, -1,  7, -1,  8, -1,  9,
+      10, 11, 12, -1, 13, 14, -1, 15, 16, -1, 17, 18, 19, -1,
+      -1, 20, -1, 21, 22, -1, -1, -1, -1, 23, -1, 24, 25, 26,
+      27, -1, 28, -1, 29, 30, -1, 31, -1, 32, 33, -1, 34, 35,
+      36, 37, -1, 38, 39, -1, 40, 41, 42, 43, 44, -1, -1, 45,
+      46, 47, 48, 49, 50, -1, -1, -1, 51, 52, -1, 53, 54, -1,
+      -1, 55, -1, -1, 56, 57, -1, -1, 58, -1, 59, 60, 61, -1,
+      62, 63, -1, -1, 64, -1, 65, -1, 66, -1, -1, -1, 67, -1,
+      -1, -1, 68, 69, -1, -1, -1, 70, 71, -1, -1, -1, -1, -1,
+      -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 72
     };
 
   if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
index b71e8f0aa6c376a1a6a55a2050d132085a87c2c1..40cbe1fe09a62162fc360a37ed0809181bb997fe 100644 (file)
@@ -10,6 +10,8 @@ COUNTRY, XT_COUNTRY
 DESCRIPTION, XT_DESCRIPTION
 EXCEL_TIME, XT_EXCEL_TIME
 FACILITY, XT_FACILITY
+FILENAME, XT_FILENAME
+FORMAT, XT_FORMAT
 GEOCACHE_CONTAINER, XT_GEOCACHE_CONTAINER
 GEOCACHE_DIFF, XT_GEOCACHE_DIFF
 GEOCACHE_HINT, XT_GEOCACHE_HINT